package www.lagou.app;

import org.apache.commons.dbutils.QueryRunner;
import org.junit.Test;
import www.lagou.dao.AccountDao;
import www.lagou.dao.PhoneDao;
import www.lagou.entity.Account;
import www.lagou.entity.Phone;
import www.lagou.utils.DruidUtil;

import java.sql.SQLException;
import java.util.List;

/**
 * @author 常红伟

 */
public class test {

    AccountDao accountDao = new AccountDao();

    PhoneDao phoneDao = new PhoneDao();

    /**
     *  *按照步骤 实现卡号：1122334455向55443332211转账5000元的操作
     *  * a) 使用连接池创建QueryRunner对象；
     *  * b) 判断转出方是否有足够余额，如果不足，提示信息：”余额不足！”，并结束程序；
     *  * c) 通过卡号 进行转账的操作；
     *  * d) 转账结束后, 将转入、转出记录分别写入到Transaction表中。
     * @throws SQLException
     */
    @Test
    public void test01() throws SQLException {
        Account account1 = accountDao.findAccountBycard("1122334455");
        //查询1122334455 账户是否存在
        if (account1!=null){
            if (account1.getBalance()>=5000){
                Account account2 = accountDao.findAccountBycard("55443332211");
                if (account2!=null){
                    //账户1 -5000
                    account1.setBalance(account1.getBalance()-5000);
                    //账户2 +5000
                    account2.setBalance(account2.getBalance()+5000);
                    //进行 转账操作
                    accountDao.updateAccountBycard(account1,account2);
                    System.out.println("转账成功！");
                }
            }else{
                System.out.println("余额不足！");
                return;
            }
        }
    }


    /**
     * 2) 需求1:  查询价格高于2000元，生产日期是2019年之前的所有手机
     *
     *
     */
    @Test
    public void test02() throws SQLException {
        Phone phone = new Phone();
        phone.setPrice(2000);
        phone.setProdate("2019-01-01");
        List<Phone> phoneList = phoneDao.findPhoneBypriceAndprodate(phone);
        for (Phone phone1 : phoneList) {
            System.out.println(phone1);
        }
    }


    /**
     * 3) 需求2:  查询所有颜色是白色的手机信息
     */
    @Test
    public void test03() throws SQLException {
        Phone phone = phoneDao.findPhoneByColor("白色");
        System.out.println(phone);

    }
}
